home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / eemram11.arc / EEMRAM.DOC < prev    next >
Text File  |  1987-08-19  |  17KB  |  398 lines

  1.                                   EEMRAM 1.01
  2.  
  3.  
  4.         Purpose
  5.         -------
  6.         EEMRAM is a small utility that can expand your DOS memory from
  7.         640K to a maximum of 736K using Enhanced Expanded Memory (EEM).
  8.         To use EEMRAM, you must have a memory board that provides EEM,
  9.         such as the AST RAMpage. A companion program (DERAM) can be used
  10.         to restore the "normal" 640K if necessary.
  11.  
  12.         | indicates information that is new or changed in recent
  13.         versions.
  14.  
  15.  
  16.         Use
  17.         ---
  18.         Here is EEMRAM's syntax:
  19.  
  20.             eemram [/#] [/S]
  21.  
  22.         When run, EEMRAM will increase DOS-usable memory DOS from 640K
  23.         to a maximum of 736K.  The exact amount depends on your hardware
  24.         configuration, particularly on what type of display adapter you
  25.         have installed.  You may want to run EEMRAM via your AUTOEXEC
  26.         startup batch, ideally as the first external program run by the
  27.         batch:
  28.  
  29.             echo off
  30.             cd c:\util
  31.             eemram
  32.             ...
  33.  
  34.         The optional /S parameter instructs EEMRAM to (S)ave certain
  35.         information in memory where it can be accessed by the DERAM
  36.         program (see below).  DERAM will not work unless EEMRAM was run
  37.         with the /S option.
  38.  
  39.         The optional /# parameter limits EEMRAM's use of EEMS memory to
  40.         some amount less than the maximum possible.  See "Limiting
  41.         Memory Size".
  42.  
  43.         We've included a small program that displays the total amount
  44.         of memory available to the system and the amount that's currently
  45.         free for DOS's use.  To see the effects of EEMRAM, just run MS
  46.         (Memory Size) before and after running EEMRAM.
  47.  
  48.  
  49.         DERAM
  50.         -----
  51.         As explained below ("Memory Allocation"), EEMRAM works by
  52.         mapping EEMS memory to DOS addresses beginning at memory segment
  53.         A000.  There is a potential conflict here: the Enhanced Graphics
  54.         Adapter (EGA) may also use memory beginning at A000.  It is also
  55.         possible that you may have other hardware using this area of
  56.         memory.  The result of such conflicts is unpredictable, but the
  57.         most likely is that extraneous data will appear in graphics
  58.         displays.
  59.  
  60.         You may also find that you have only a few programs that can
  61.         really use the extra EEMRAM memory and that you prefer to leave
  62.         the EEMS memory free most of the time.
  63.  
  64.         The DERAM program helps with these situations by reversing the
  65.         effects of EEMRAM: it restores the original 640K of DOS memory
  66.         and releases the EEMRAM-allocated EEMS memory back to the free
  67.         memory pool.
  68.  
  69.         To use DERAM, you must have run EEMRAM with the /S option:
  70.  
  71.             C> eemram /s
  72.  
  73.         This saves certain information the DERAM needs.  To restore the
  74.         original 640K and eliminate the memory conflict, just run DERAM:
  75.  
  76.             C> deram
  77.  
  78.         As an example of using EEMRAM and DERAM, suppose that you only
  79.         want to have the extra memory available for one program, your
  80.         word processor BESTWP.  The following command sequence will do
  81.         the trick:
  82.  
  83.             C> eemram /s
  84.             C> bestwp
  85.             C> deram
  86.  
  87.         You can enter these commands manually or make a small batch file
  88.         or PCED synonym.
  89.  
  90.         The opposite situation holds where you want to run with extra
  91.         memory most of the time, but release it before running the EGA
  92.         graphics program GREATGFX.  The following commands will work,
  93.         assuming that you originally installed EEMRAM with /S:
  94.  
  95.             C> deram
  96.             C> greatgfx
  97.             C> eemram /s
  98.  
  99.         NOTE: when you use /S, EEMRAM places in memory a small amount
  100.         (four bytes) of information that DERAM needs.  The information
  101.         is stored in the little used Interapplications Communication
  102.         Area (ICA).  If EEMRAM cannot find four consecutive unused bytes
  103.         in this area, it cannot store the information and DERAM won't
  104.         work.
  105.  
  106.  
  107.         Limiting Memory Size: /# parameter
  108.         ----------------------------------
  109.         The optional EEMRAM /# parameter can be used to explicitly
  110.         reduce the number of 16K pages of EEMS memory it assigns to DOS
  111.         (see "Memory Allocation Information" for more information about
  112.         memory use).  "#" is a decimal digit from 1 to 6 that specifies
  113.         how many pages you want assigned.
  114.  
  115.         EEMRAM will normally assign all contiguous pages available
  116.         from A000 to B400 (6 pages maximum, or 96K).  However, there may
  117.         be cases in which you don't want all of this used, and that's
  118.         what /# does.  An example of /# use:
  119.  
  120.             C> eemram /2
  121.  
  122.         The /2 means "use only two 16K pages of EEMS memory."
  123.  
  124.         If you specify more pages than are available, EEMRAM will only
  125.         use the number available, in effect ignoring your parameter.
  126.  
  127.         Here is a map showing the effects of all possible /#:
  128.  
  129.             Page       /1  /2  /3  /4  /5  /6
  130.             ----       --  --  --  --  --  --
  131.             A000       XX  XX  XX  XX  XX  XX
  132.             A400           XX  XX  XX  XX  XX
  133.             A800               XX  XX  XX  XX
  134.             AC00                   XX  XX  XX
  135.             B000                       XX  XX <---MDA memory begins
  136.             B400                           XX
  137.             B800                              <---CGA memory begins
  138.                        --  --  --  --  --  --
  139.             KB added   16  32  48  64  80  96
  140.             Total KB  656 672 688 704 720 736
  141.  
  142.  
  143.  
  144.         Memory Allocation Information
  145.         -----------------------------
  146.         When a typical EEMS memory board is installed, it "backfills"
  147.         DOS memory to 640K; that is, some of the memory on the EEMS
  148.         board is permanently assigned to DOS in such a way that the
  149.         system will appear to DOS to have 640K of main memory.  This
  150.         640K occupies RAM addresses 00000 to 9FFFFF, or, in the more
  151.         traditional segment notation, memory segments 0000 to 9FFF.
  152.  
  153.         Segments beginning at A000 (the next segment above 9FFF) are not
  154.         assigned to DOS by the EEMS manager.
  155.  
  156.         However, 64K to 96K of addresses beginning at A000 are often
  157.         unused on PC's.  On a machine equipped with a monochrome display
  158.         adapter (MDA), display memory begins at segment B000, leaving
  159.         64K open from A000-AFFF; on a machine equipped with a color
  160.         graphics adapter (CGA), display memory begins at segment B800,
  161.         leaving 96K open from A000-B7FF.
  162.  
  163.         It is possible to force the EEMS manager to assign memory for
  164.         these addresses and to convince DOS that the EEMS memory so
  165.         assigned is usable by the system, resulting in as much as 736K
  166.         of DOS-usable memory.  That is what EEMRAM does.
  167.  
  168.         [Contrary to popular opinion, DOS is not limited to 640K;
  169.         it can use whatever memory is available, up to a limit of 1
  170.         megabyte.  The limiting factor is your hardware.  DOS can only
  171.         uses memory up to the lowest memory address used by any
  172.         component of your PC's hardware: adapter cards, ROM modules,
  173.         etc.  Also, the DIP switches on many machines are limited to a
  174.         maximum of 640K switch-settable; to go beyond this, it's
  175.         necessary for software such as EEMRAM to override the switch
  176.         settings.]
  177.  
  178.  
  179.         EEMS "exclusion" switches
  180.         -------------------------
  181.         When EEMRAM is run, it asks the EEMS manager which pages (16K
  182.         blocks) of memory are available for mapping.  EEMRAM will only
  183.         use contiguous pages beginning at A000 and ending at B800, a
  184.         maximum of 6 pages (96K): A000, A400, A800, AC00, B000, and
  185.         B400.  If an MDA is installed, the EEMS manager will inform
  186.         EEMRAM that pages B000 and B400 are not available, reulting in 4
  187.         usable pages (64K).
  188.  
  189.         Many EEMS managers have an optional install-time switch that
  190.         explcitly tells them NOT to allow mapping memory to specific
  191.         pages.  For example, AST's REMM.SYS has an X parameter that
  192.         eXcludes pages:
  193.  
  194.             device=remm.sys /X=A800-AFFF
  195.  
  196.         In this example, REMM would not map memory to pages A800 and
  197.         AC00, so EEMRAM would be able to use only A000 and A400 (32K
  198.         total).  If you find that EEMRAM is using less EEMS memory than
  199.         you'd expect (or if you see the message "No pages available at
  200.         A000"), you might look to this as a possible cause.
  201.  
  202.  
  203.      |  EMSINFO
  204.      |  -------
  205.      |  The separate program EMSINFO is a quick test that should tell
  206.      |  you if your system can use EEMRAM.  Run it by just typing
  207.      |  "EMSINFO" at the DOS prompt.
  208.      |
  209.      |  EMSINFO will verify that the EMS manager software is loaded and
  210.      |  operating correctly.  It will also test to ensure that the EMS
  211.      |  memory is "enhanced."  If you see the message:
  212.      |
  213.      |    EMS is probably not enhanced
  214.      |
  215.      |  then EEMRAM will not work.  The message indicates that the EMS
  216.      |  manager software does not support a critical "enhanced" function
  217.      |  that EEMRAM needs (function 41, AH=68H).
  218.      |
  219.      |  If you see the message:
  220.      |
  221.      |    EMM does NOT support some newer functions, possibly outdated
  222.      |
  223.      |  then EEMRAM will work, but you might want to check with your EMS
  224.      |  vendor about getting a newer version of the EMS manager.  For
  225.      |  example, versions of AST's REMM.SYS earlier than 3.0 will yield
  226.      |  this message.
  227.      |
  228.      |  Finally, EMSINFO displays a list of all memory segments to which
  229.      |  EMS memory can be mapped.  In order for EEMRAM to run, segment
  230.      |  A000 must be in the list.
  231.  
  232.  
  233.         EEMRAM error messages
  234.         ---------------------
  235.         Expected 640K of DOS memory
  236.  
  237.             EEMRAM expects to find 640K of DOS RAM in the system; this
  238.             is the normal case if you have an EEMS board installed.
  239.             You'll see this message if you try to run EEMRAM in
  240.             "session" mode (format 1) twice in one session.
  241.  
  242.         Unable to resize memory
  243.  
  244.             EEMRAM can't modify DOS's memory allocation blocks, so
  245.             nothing has been done.  Always run EEMRAM directly at the
  246.             DOS prompt or via AUTOEXEC; don't run it as a "child" of
  247.             some other program.
  248.  
  249.         Installed EMS memory is not enhanced
  250.  
  251.             In this world there are two kinds of expanded memory
  252.             specificatons: EMS and Enhanced EMS (EEMS).  Standard EMS
  253.             hardware cannot do what EEMRAM has to do to map the expanded
  254.             memory, so it cannot be used.  If you see this message, you
  255.             do not have EEMS memory and you can't use EEMRAM.
  256.  
  257.         Error accessing EEMS manager
  258.  
  259.             Generic message indicating that there's a problem with the
  260.             EEMS manager software: it's corrupted, you don't have
  261.             expanded memory, etc.
  262.  
  263.         No pages available at A000
  264.  
  265.             A000 (hex) is the address where memory above 640K would
  266.             start.  The EEMS manager has told EEMRAM that there is no
  267.             "page frame" available at A000, so EEMRAM can't assign any
  268.             EEMS memory there.  The most likely cause is that other
  269.             hardware (EGA?) is already using this area of memory.
  270.             Another possibility is that you have set an exclusion switch
  271.             for page A000 when loading your EEMS manager.
  272.  
  273.         Warning: unable to save /S information for DERAM
  274.  
  275.             There is insufficient memory unused in the area that
  276.             EEMRAM/DERAM use to pass needed information back and forth.
  277.             This is a warning message: EEMRAM itself has run successfully,
  278.             but DERAM won't work.
  279.  
  280.         Valid pages are 1-6
  281.  
  282.             The only legal values for the /# parameter are 1 through 6.
  283.  
  284.         No EMS memory available
  285.  
  286.             All of your expanded memory is already in use.
  287.  
  288.  
  289.         DERAM error messages
  290.         --------------------
  291.  
  292.         System already set to 640K
  293.  
  294.             DERAM has found that the system already shows 640K of DOS
  295.             memory, so it hasn't done anything.
  296.  
  297.         EEMRAM not run with /S option, unable to resize memory
  298.  
  299.             In order to use DERAM, you must run EEMRAM with the /S
  300.             switch.  If you did run EEMRAM with /S and you see this
  301.             message, some other program is using the same area of memory
  302.             that EEMRAM/DERAM use to pass information back and forth.
  303.             You will not be able to use DERAM in this case (fortunately,
  304.             it's unlikely).
  305.  
  306.         Error accessing EEMS manager
  307.  
  308.             Generic message indicating that there's a problem with the
  309.             EEMS manager software: it's corrupted, you don't have
  310.             expanded memory, etc.
  311.  
  312.         Unable to resize memory
  313.  
  314.             DERAM can't modify DOS's memory allocation blocks, so
  315.             nothing has been done.  Always run DERAM directly at the
  316.             DOS prompt or via AUTOEXEC; don't run it as a "child" of
  317.             some other program.
  318.  
  319.  
  320.         Notes
  321.         -----
  322.         1. We can't promise that EEMRAM will work with any specific
  323.         hardware configuration.  If your hardware conflicts with what
  324.         EEMRAM does (EEMRAM won't run properly, system locks up, etc.),
  325.         there's nothing we can do about it.
  326.  
  327.         2. EEMRAM is not a TSR (i.e., it is not resident).  It runs and
  328.         terminates, restoring the full amount of memory to the system.
  329.         Because EEMRAM is not a TSR, don't try to use MARK/RELEASE,
  330.         REFEREE, POPDROP, or similar TSR managers to "remove" EEMRAM.
  331.         EEMRAM cannot be removed by these managers.
  332.  
  333.         3. EEMRAM and DERAM both return an errorlevel of 255 if they
  334.         encounter any errors.
  335.  
  336.         4. If EEMRAM needs more EEMS memory than is available, it will
  337.         use all that is available.  If no EEMS memory at all is
  338.         available, it is an error.
  339.  
  340.         5. Remember that EEMRAM requires ENHANCED expanded memory.  This
  341.         is EMS memory that conforms to the Ashton-Tate/Quadram/AST
  342.         Enhanced Expanded Memory Specification (AQA EEMS).  EEMRAM will
  343.         not work with "standard" (Lotus-Intel-Microsoft or LIM) expanded
  344.         memory such as that provided by the Intel AboveBoard.
  345.  
  346.  
  347.         Versions
  348.         --------
  349.      |  1.01 08/20/87
  350.      |      Changed test for enhanced memory, may be a little more
  351.      |      tolerant of older versions of REMM.SYS et al.
  352.  
  353.  
  354.         Copyright/License/Warranty
  355.         --------------------------
  356.         This document and the program files EEMRAM.COM and DERAM.COM
  357.         ("the software") are copyrighted by the author.  The copyright
  358.         owner hereby licenses you to: use the software; make as many
  359.         copies of the program and documentation as you wish; give such
  360.         copies to anyone; and distribute the software and documentation
  361.         via electronic means.  There is no charge for any of the above.
  362.  
  363.         However, you are specifically prohibited from charging, or
  364.         requesting donations, for any such copies, however made; and
  365.         from distributing the software and/or documentation with
  366.         commercial products without prior permission.  An exception is
  367.         granted to not-for-profit user's groups, which are authorized to
  368.         charge a small fee (not to exceed $7) for materials, handling,
  369.         postage, and general overhead.  NO FOR-PROFIT ORGANIZATION IS
  370.         AUTHORIZED TO CHARGE ANY AMOUNT FOR DISTRIBUTION OF COPIES OF
  371.         THE SOFTWARE OR DOCUMENTATION, OR TO INCLUDE COPIES OF THE
  372.         SOFTWARE OR DOCUMENTATION WITH SALES OF THEIR OWN PRODUCTS.
  373.  
  374.         THIS INCLUDES A SPECIFIC PROHIBITION AGAINST FOR-PROFIT
  375.         ORGANIZATIONS DISTRIBUTING THE SOFTWARE, EITHER ALONE OR WITH
  376.         OTHER SOFTWARE, AND CHARGING A "HANDLING" OR "MATERIALS" FEE OR
  377.         ANY OTHER SUCH FEE FOR THE DISTRIBUTION.  NO FOR-PROFIT
  378.         ORGANIZATION IS AUTHORIZED TO INCLUDE THE SOFTWARE ON ANY MEDIA
  379.         FOR WHICH MONEY IS CHARGED.  PERIOD.
  380.  
  381.         No copy of the software may be distributed or given away without
  382.         this document; and this notice must not be removed.
  383.  
  384.         There is no warranty of any kind, and the copyright owner is not
  385.         liable for damages of any kind.  By using this free software,
  386.         you agree to this.
  387.  
  388.         The software and documentation are:
  389.  
  390.                              Copyright (C) 1987 by
  391.                              Christopher J. Dunford
  392.                             The Cove Software Group
  393.                               Post Office Box 1072
  394.                             Columbia, Maryland 21044
  395.                                  (301) 992-9371
  396.  
  397.         Comments to Chris Dunford [CIS 76703,2002].
  398.